<HTML>
<HEAD>
  <!-- Created with AOLpress/2.0 -->
  <!-- AP: Created on: 27-Jan-2003 -->
  <!-- AP: Last modified: 7-Feb-2010 -->
  <TITLE>Final cleanup</TITLE>
  <LINK REL="icon" href="fftype16.png">
  <LINK REL="stylesheet" TYPE="text/css" HREF="FontForge.css">
</HEAD>
<BODY>
<P ALIGN=CENTER>
<IMG SRC="fontforge-banner-420.jpeg" WIDTH=420 HEIGHT=80>
<DIV id="in">
  <H1 ALIGN=Center>
    Tutorial #8
  </H1>
  <UL>
    <LI>
      <A HREF="editexample.html#FontCreate">Font Creation</A>
    <LI>
      <A HREF="editexample.html#CharCreate">Creating a glyph (tracing outlines)</A>
    <LI>
      <A HREF="editspiro.html">Create glyph outlines using spiro points</A>
    <LI>
      <A HREF="importexample.html">Importing a glyph from Inkscape (or Illustrator,
      or some other vector editor)</A>
    <LI>
      <A HREF="editexample2.html#Navigating">Navigating to other glyphs</A>
    <LI>
      <A HREF="editexample2.html#Creating-o">On to the next glyph (consistent
      directions)</A>
    <LI>
      <A HREF="editexample3.html#consistent-stems">Consistent serifs and stem
      widths</A>
    <LI>
      <A HREF="editexample4.html#accents">Building accented glyphs</A>
    <LI>
      <A HREF="editexample4.html#ligature">Building a ligature</A>
    <LI>
      <A HREF="editexample5.html#metrics">Examining metrics</A>
    <LI>
      <A HREF="editexample5.html#Kerning">Kerning</A>
    <LI>
      <A HREF="editexample6.html#Variants">Glyph variants</A>
    <LI>
      <A HREF="editexample6.html#Marks">Anchoring marks</A>
    <LI>
      <A HREF="editexample6-5.html#Conditional">Conditional features</A>
    <LI>
      <A HREF="editexample7.html#checking">Checking your font</A>
    <LI>
      <A HREF="#Bitmaps">Bitmaps</A>
    <LI>
      <A HREF="editexample7.html#generating">Generating it</A>
    <LI>
      <A HREF="editexample7.html#Families">Font Families</A>
    <LI>
      <A HREF="editexample7.html#summary">Final Summary</A>
    <LI>
      <A HREF="editexample8.html">Bitmap strikes</A>
    <LI>
      <A HREF="scripting-tutorial.html">Scripting Tutorial</A>
    <LI>
      <A HREF="scriptnotes.html#Special">Notes on various scripts</A>
    <LI>
      <FORM method=GET action="http://www.google.com/search">
	Searching the documentation:
	<INPUT type=hidden name="as_sitesearch" value="fontforge.sourceforge.net">
	<INPUT type=text name="as_q">
	<INPUT type=submit name="btnG" value="Search">(Powered by
	<A HREF="http://www.google.com/">Google</A>)
      </FORM>
  </UL>
  <H2>
    <A NAME="checking">Checking</A> a font
  </H2>
  <P>
  After you have finished making all the glyphs in your font you should check
  it for inconsistencies. FontForge has a command,
  <A HREF="problems.html">Element-&gt;Find Problems</A> which is designed to
  find many common problems.
  <P>
  Simply select all the glyphs in the font and then bring up the Find Problems
  dialog. Be warned though: Not everything it reports as a problem is a real
  problem, some may be an element of the font's design that FontForge does
  not expect.
  <P>
  The dialog can search for problems like:
  <UL>
    <LI>
      Stems which are close to but not exactly some standard value.
    <LI>
      Points which are close to but not exactly some standard height
    <LI>
      Paths which are almost but not quite vertical or horizontal
    <LI>
      Control points which are in unlikely places
    <LI>
      Points which are almost but not quite on a hint
    <LI>
      ...
  </UL>
  <P>
  I find it best just to check for a similar problems at a time, otherwise
  switching between different kinds of problems can be distracting.
  <H2>
    <A NAME="Bitmaps">Bitmaps</A>
  </H2>
  <P>
  At this point you might want some bitmaps to go with the outline font (this
  is not compulsory). Go to <CODE>Element-&gt;Bitmap Strikes Available</CODE>
  and select the pixel sizes you want bitmaps in (Note, that on X and MS windows
  pixel sizes often do not correspond exactly to point sizes. You can then
  use the bitmap editor (<CODE><A HREF="bitmapview.html">Window-&gt;Open
  Bitmap</A></CODE>) to clean up the bitmaps, or you can generate your bitmap
  fonts and then <A HREF="http://math.nmsu.edu/~mleisher/Software/gbdfed/">use
  someone else's bitmap editor to clean them up</A>.
  <P>
  <IMG SRC="BitmapView.png" WIDTH="254" HEIGHT="273">
  <P>
  Bitmaps are discussed in more detail in the <A HREF="editexample8.html">next
  section.</A>
  <H2>
    <A NAME="generating">Generating</A> a font
  </H2>
  <P>
  If you save your file it will be saved in a format that only FontForge
  understands (as far as I know anyway). This is not very helpful if you want
  to use the font.
  <P>
  <IMG SRC="generate.png" WIDTH="406" HEIGHT="411" ALIGN="Right">Instead you
  must use <A HREF="generate.html">File-&gt;Generate</A> to convert your font
  into one of the standard font formats. FontForge presents what looks like
  a vast array of font formats, but in reality there are just several variants
  on a few basic font formats: PostScript Type 1, TrueType, OpenType (and for
  CJK fonts, also CID-keyed fonts).
  <P>
  You also have a choice of bitmap formats. FontForge supports bdf (used by
  X), mac NFNT (used by the Mac), Windows FNT (used by Windows 2.0 I think)
  and storing bitmaps inside true (or open) type wrappers.<BR CLEAR=RIGHT>
  <H2>
    Font <A NAME="Families">Families</A>
  </H2>
  <P>
  After you have generated a font, you probably want to generate a sequence
  of similar fonts. In Latin, Greek and Cyrillic fonts italic (or oblique),
  bold, condensed, expanded styles are fairly common.
  <P>
  Fonts with different styles in the same family should share the same Family
  Name (in the <A HREF="fontinfo.html">Element-&gt;Font Info-&gt;Names</A>
  dialog). The Font Name should be the Family Name with the style name(s) appended
  to the end, often preceded by a hyphen. So in the font family "Helvetica"
  all fonts should have the Family Name set to "Helvetica". The plain style
  could be called simply "Helvetica" or "Helvetica-Regular", the bold style
  "Helvetica-Bold", the oblique (Helvetica doesn't have a true italic)
  "Helvetica-Oblique", etc.
  <P>
  FontForge has a menu
  <A HREF="elementmenu.html#Style">Element-&gt;Style</A> which is designed
  to help you create different styles (bold, italic, oblique, condensed, extended,
  smallcaps,...) of a font a plain face. None of these transformations is perfect,
  be sure to check the results.
  <P>
  The
  <A HREF="transform.html">Element-&gt;Transform-&gt;Transform-&gt;Skew</A>
  command can turn a plain font into an Oblique one. Creating a true italic
  font is generally a bit more complex, the shape of the "a" changes dramatically
  to "<I>a</I>", the "f" gains a descender as "<I>f</I>", the serifs on "ilm"
  etc. become rounded as "<I>ilm</I>" and there will probably be other subtle
  differences. Also, after having skewed a font you should
  <A HREF="elementmenu.html#Add-Extrema">Element-&gt;Add Extrema</A>.
  <P>
  If you already have a "Bold" and a "Plain" style of a font (and each glyph
  has the same number of points in the same order), you can use the
  <A HREF="elementmenu.html#Interpolate">Element-&gt;Interpolate Font </A>command
  to generate a "DemiBold" style.
  <P>
  TrueType fonts (and Windows) support a very fine gradation of stem thicknesses
  (the Mac really only understands Plain and Bold). If you go to
  <A HREF="fontinfo.html#TTF-Values">Element-&gt;Font Info-&gt;OS/2</A> you
  can set the weight to be any value between 0 and 999 (with plain generally
  being at 400 or 500, and Bold at 700). TrueType fonts also support a range
  of widths (while the Mac only supports condensed, plain and expanded).
  <P>
  <IMG SRC="GenerateFamily.png" WIDTH="414" HEIGHT="552" ALT="Dialog for Generate Mac Family"
      ALIGN="Right">On Windows machines, as long as you get the names right, the
  system should be able to figure out what fonts go into what families. But
  on the Mac the situation is (or was, it is changing and I don't understand
  all the new extensions yet) more complicated. The Mac supports a limited
  range of styles (plain, italic, bold, outline, condensed, expanded and
  combinations of these) anything outside these must go into a separate family.
  Then a special table needs to be constructed (called the FOND) which holds
  pointers to the various fonts in the family. If you open all the fonts you
  want to be in a given family (and if they have been given the proper names)
  and then from the plain font select
  <A HREF="filemenu.html#GenerateMac">File-&gt;Generate Family</A>. This will
  list all the fonts that FontForge thinks belong to the same family as the
  current font and will allow you to generate a FOND structure as well as font
  files for all family members (sometimes all the fonts live in one file, sometimes
  they don't, it depends on the font format chosen).
  <H2>
    <A NAME="summary">Final</A> Summary
  </H2>
  <P>
  So you have made a new font. But it does you no good just sitting on your
  disk, you must install it on your machine. On some systems this is as simple
  as just dragging the new font into your system Fonts folder, but on other
  systems there is a fair amount work involved still. See the
  <A HREF="faq.html#font-install">Installing fonts FAQ</A>.
  <P>
  For a tutorial about <A HREF="scripting-tutorial.html">FontForge's scripting
  mechanism click here</A>.
  <P>
  <P ALIGN=Center>
  -- <A HREF="editexample6-5.html">Prev</A> -- <A HREF="overview.html">TOC</A>
  -- <A HREF="scriptnotes.html">Next</A> --
</DIV>
</BODY></HTML>
